<?xml version="1.0" encoding="UTF-8"?>
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:p="http://primefaces.org/ui">

    <h:panelGrid columns="9">
        <h:outputLabel value="Grupo Empresarial"/>
        <p:selectOneMenu id="#{ui_cmb}_grupo" value="#{jsfBean.reporteContext.grupoEmpresarialSelect}"
                         converter="#{managerGrupoDTOConverter}" effect="fade" style="width: 150px">
            <f:selectItem itemValue="" itemLabel="Todos"/>
            <f:selectItems value="#{jsfBean.cmbGrupoReporte}"
                           var="grupo" itemLabel="#{grupo.nombre}" itemValue="#{grupo}"/>
            <p:ajax event="change" update="#{ui_dtLista} :messages"
                    listener="#{reporteCuentaAlmacenJsfBean.onSelectGrupoEmpresarial}"/>
        </p:selectOneMenu>
        <p:spacer width="30px"/>
        <h:outputLabel value="Sociedad"/>
        <p:selectOneMenu id="#{ui_cmb}_sociedad" value="#{jsfBean.reporteContext.sociedadSelect}"
                         converter="#{managerSociedadDTOConverter}" effect="fade" style="width: 150px">
            <f:selectItem itemValue="" itemLabel="Todos"/>
            <f:selectItems value="#{jsfBean.cmbSociedad}"
                           var="sociedad" itemLabel="#{sociedad.nombre}" itemValue="#{sociedad}"/>
        </p:selectOneMenu>
        <p:spacer width="30px"/>
        <h:outputLabel value="Rango Fecha Creación"/>
        <h:panelGroup>
            <p:calendar id="#{ui_cmb}_fecha_inicio_origen"
                        value="#{jsfBean.reporteContext.fechaInicioOrigen}"
                        size="10" navigator="true" pattern="dd/MM/yyyy"/>
            <h:outputLabel value="a"/>
            <p:calendar id="#{ui_cmb}_fecha_fin_origen" value="#{jsfBean.reporteContext.fechaFinOrigen}"
                        size="10" navigator="true" pattern="dd/MM/yyyy"/>
        </h:panelGroup>
        <p:spacer width="30px"/>
        <h:outputLabel for="#{ui_cmb}_acreedor" value="Acreedor"/>
        <p:selectCheckboxMenu id="#{ui_cmb}_acreedor" value="#{jsfBean.reporteContext.acreedorDTOListSelect}"
                              filterText="Filter" filterMatchMode="contains" filter="true"
                              panelStyle="width:250px" label="Acreedor">
            <f:selectItems value="#{jsfBean.cmbAcreedorReporte}" var="item"
                           itemLabel="#{item}"
                           itemValue="#{item}"/>
        </p:selectCheckboxMenu>
        <p:spacer width="30px"/>
        <h:outputLabel for="#{ui_cmb}_usuario" value="Usuario"/>
        <p:selectCheckboxMenu id="#{ui_cmb}_usuario" value="#{jsfBean.reporteContext.usuarioListSelect}"
                              filterText="Filter" filterMatchMode="contains" filter="true"
                              panelStyle="width:250px" label="Usuario">
            <f:selectItems value="#{jsfBean.cmbUsuarioReporte}"
                    />
        </p:selectCheckboxMenu>
        <p:spacer width="30px"/>
        <h:outputLabel for="#{ui_cmb}_pedido" value="Pedido"/>
        <p:inputTextarea id="#{ui_cmb}_pedido" value="#{jsfBean.reporteContext.pedidoSelect}"
                         rows="4" cols="28"
                >
        </p:inputTextarea>
        <p:spacer width="30px"/>
        <h:outputLabel for="#{ui_cmb}_cuenta" value="Cuenta Contable"/>
        <p:selectCheckboxMenu id="#{ui_cmb}_cuenta" value="#{jsfBean.reporteContext.cuentaContableListSelect}"
                              filterText="Filter" filterMatchMode="contains" filter="true"
                              panelStyle="width:250px" label="Cuenta Contable">
            <f:selectItems value="#{jsfBean.cmbCuentaContableReporte}"
                    />
        </p:selectCheckboxMenu>
        <p:commandButton value="Buscar" icon="ui-icon-refresh"
                         process="@this,#{ui_cmb}_pedido,#{ui_cmb}_acreedor,#{ui_cmb}_cuenta,#{ui_cmb}_sociedad,#{ui_cmb}_usuario,#{ui_cmb}_fecha_inicio_origen,#{ui_cmb}_fecha_fin_origen"
                         actionListener="#{jsfBean.onSelectFiltro}"
                         ajax="true" update="#{ui_dtLista}"
                />
        <p:commandButton value="Limpiar" icon="ui-icon-refresh"
                         process="@this,#{ui_cmb}_pedido,#{ui_cmb}_acreedor,#{ui_cmb}_cuenta,#{ui_cmb}_sociedad,#{ui_cmb}_usuario,#{ui_cmb}_fecha_inicio_origen,#{ui_cmb}_fecha_fin_origen"
                         actionListener="#{jsfBean.onClean}"
                         ajax="true"
                         update="#{ui_cmb}_pedido,#{ui_cmb}_grupo,#{ui_cmb}_acreedor,#{ui_cmb}_cuenta,#{ui_cmb}_sociedad,#{ui_cmb}_usuario,#{ui_cmb}_fecha_inicio_origen,#{ui_cmb}_fecha_fin_origen"
                />
    </h:panelGrid>
    <p:toolbar>
        <p:toolbarGroup align="right">
            <p:commandLink ajax="false" process="@this"
                           actionListener="#{jsfBean.printExcelReportAction}">
                <p:graphicImage value="../resources/images/newExcel.png" width="25px" height="25px"/>
                <f:attribute name="templateFile" value="#{jasperReporte}"/>
                <f:attribute name="templateType" value="xls"/>
                <f:attribute name="reportType" value="#{tipoReporte}"/>
            </p:commandLink>
        </p:toolbarGroup>
    </p:toolbar>
    <p:dataTable id="#{ui_dtLista}" value="#{data_reporte}"
                 sortBy="#{item.totalGeneral}" sortOrder="descending"
                 var="item" rowKey="#{item.id}" selectionMode="single"
                 rows="10" paginator="true" lazy="true"
                 paginatorPosition="bottom" emptyMessage="No existen registros"
                 paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
                 rowsPerPageTemplate="5,10,25,50">
        <p:columnGroup type="header">
            <p:row rendered="#{not ocultarTotales}">
                <p:column colspan="#{totalColsPan}" headerText="Totales: " style="text-align:right"/>

                <p:column styleClass="columnRightTopClass">
                    <f:facet name="header">
                        <h:outputText value="#{totalBean.totalCantidad3}">
                            <f:convertNumber pattern="###,###,##0" locale="en-US"/>
                        </h:outputText>
                    </f:facet>

                </p:column>
                <p:column styleClass="columnRightTopClass">
                    <f:facet name="header">
                        <h:outputText value="#{totalBean.totalCantidad4}">
                            <f:convertNumber pattern="###,###,##0" locale="en-US"/>
                        </h:outputText>
                    </f:facet>
                </p:column>
                <p:column styleClass="columnRightTopClass">
                    <f:facet name="header">
                        <h:outputText value="#{totalBean.totalCantidad5}">
                            <f:convertNumber pattern="###,###,##0" locale="en-US"/>
                        </h:outputText>
                    </f:facet>
                </p:column>
                <p:column styleClass="columnRightTopClass">
                    <f:facet name="header">
                        <h:outputText value="#{totalBean.totalCantidad}">
                            <f:convertNumber pattern="###,###,##0" locale="en-US"/>
                        </h:outputText>
                    </f:facet>
                </p:column>
            </p:row>
            <p:row>
                <p:column headerText="Sociedad"/>
                <p:column headerText="N° Pedido" sortBy="#{item.numeroPedido}"/>
                <p:column headerText="Usuario"/>
                <p:column headerText="Cod. Acreedor"/>
                <p:column headerText="Acreedor"/>
                <p:column headerText="Fecha Creación"/>
                <p:column headerText="# Cta. Contable" sortBy="#{item.cantidadCuentaContable}"/>
                <p:column headerText="# Pos." sortBy="#{item.cantidadPosicion}"/>
                <p:column headerText="# Factura" sortBy="#{item.cantidadFactura}"/>
                <p:column headerText="# Prov con Fact" sortBy="#{item.cantidadProvicionFactura}"/>
                <p:column headerText="# Prov sin Fact" sortBy="#{item.cantidadProvisionSinFactura}"/>
                <p:column headerText="Total"  rendered="#{not ocultarTotales}" sortBy="#{item.total}"/>
                <!--<p:column headerText="Sel"/>-->
            </p:row>
        </p:columnGroup>
        <p:column styleClass="columnLeftTopClass" style="min-width:100px">

            <h:outputText value="#{item.sociedadId}"/>
        </p:column>
        <p:column styleClass="columnLeftTopClass" style="min-width:100px">
            <p:commandLink actionListener="#{jsfBean.onDetalleItemCuenta}" ajax="true"
                           update=":detalleAlmacenPosicionItem">
                <h:outputText value="#{item.numeroPedido}"/>
                <f:attribute name="checkPointId" value="#{item.checkPointId}"/>
                <f:attribute name="sociedadId" value="#{item.sociedadId}"/>
                <f:attribute name="numeroDocumentoCompra" value="#{item.numeroPedido}"/>
                <f:attribute name="tipoReporte" value="#{tipoReporte}"/>
            </p:commandLink>
        </p:column>
        <p:column styleClass="columnLeftTopClass" style="min-width:100px">
            <h:outputText value="#{item.usuario}"/>
        </p:column>
        <p:column styleClass="columnLeftTopClass" style="min-width:100px">
            <h:outputText value="#{item.acreedorId} "/>
        </p:column>
        <p:column styleClass="columnLeftTopClass" style="min-width:100px">
            <h:outputText value="#{item.acreedorRazonSocial} "/>
        </p:column>
        <p:column styleClass="columnRightTopClass" style="min-width:80px">

            <h:outputText value="#{item.fechaOrigen}">
                <f:convertDateTime pattern="dd/MM/yyyy" timeZone="America/Lima" type="both"/>
            </h:outputText>
        </p:column>
        <p:column styleClass="columnRightTopClass" style="min-width:30px">
                <h:outputText value="#{item.cantidadCuentaContable}">
                    <f:convertNumber pattern="###,###,##0" locale="en-US"/>
                </h:outputText>

        </p:column>
        <p:column styleClass="columnRightTopClass" style="min-width:30px">
                <h:outputText value="#{item.cantidadPosicion}">
                    <f:convertNumber pattern="###,###,##0" locale="en-US"/>
                </h:outputText>
        </p:column>
        <p:column styleClass="columnRightTopClass" style="min-width:30px">
                <h:outputText value="#{item.cantidadFactura}">
                    <f:convertNumber pattern="###,###,##0" locale="en-US"/>
                </h:outputText>
        </p:column>
        <p:column styleClass="columnRightTopClass" style="min-width:30px">
                <h:outputText value="#{item.cantidadProvicionFactura}">
                    <f:convertNumber pattern="###,###,##0" locale="en-US"/>
                </h:outputText>
        </p:column>
        <p:column styleClass="columnRightTopClass" style="min-width:30px">
                <h:outputText value="#{item.cantidadProvisionSinFactura}">
                    <f:convertNumber pattern="###,###,##0" locale="en-US"/>
                </h:outputText>
        </p:column>
        <p:column sortBy="#{item.total}" styleClass="columnRightTopClass" style="min-width:30px"  rendered="#{not ocultarTotales}" >
            <p:commandLink actionListener="#{jsfBean.onDetalleItemCuenta}" ajax="true"
                           update=":detalleAlmacenPosicionItem">

                <h:outputText value="#{item.total}">
                    <f:convertNumber pattern="###,###,##0.00" locale="en-US"/>
                </h:outputText>
            <f:attribute name="checkPointId" value="#{item.checkPointId}"/>
            <f:attribute name="sociedadId" value="#{item.sociedadId}"/>
            <f:attribute name="numeroDocumentoCompra" value="#{item.numeroPedido}"/>
            <f:attribute name="tipoReporte" value="#{tipoReporte}"/>
        </p:commandLink>
        </p:column>

   <!--     <p:column styleClass="columnRightTopClass" style="min-width:30px">
            <p:selectBooleanCheckbox value="#{item.seleccionado}">
                <p:ajax listener="#{reporteCuentaAlmacenJsfBean.onSelectRow}"/>
            </p:selectBooleanCheckbox>
        </p:column>-->

    </p:dataTable>

</ui:composition>
